Networked computer software applications today can be delivered to users in many different ways on many different device types. Such applications can be delivered over wired and wireless networks and even over voice networks through interactive voice response systems. The devices can include personal computers, personal digital assistants (PDA), mobile telephones, hybrid telephone/PDAs, and other devices.
Development of a networked computer application for delivery over a certain type of network to a particular device type typically requires customized development. For example, if the application is to be delivered over a voice network, a custom voice application needs to be developed. If the application is to be delivered over a wireless network to a mobile telephone or hybrid telephone/PDA device, such as a Blackberry, the application needs to be customized for the particular Blackberry device. Such device and network customization of computer software applications results in duplicated efforts and multiple codesets that provide essentially the same functionality, just through a different delivery mechanism. The result is an interwoven web of essentially redundant applications that are expensive to develop, maintain, and track.